home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / Mesa-2.2 / include / GL / gl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-11  |  47.7 KB  |  1,663 lines

  1. /* $Id: gl.h,v 1.11 1997/03/11 00:27:43 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  2.2
  6.  * Copyright (C) 1995-1997  Brian Paul
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25.  * $Log: gl.h,v $
  26.  * Revision 1.11  1997/03/11 00:27:43  brianp
  27.  * changed GL_POLYGON_OFFSET_FACTOR value to 0x8038
  28.  *
  29.  * Revision 1.10  1997/02/17 17:16:00  brianp
  30.  * now test for __QUICKDRAW__ like for __BEOS__ (Randy Frank)
  31.  *
  32.  * Revision 1.9  1997/02/10 20:05:25  brianp
  33.  * replaced GL_TEXTURE_BINDING_xD_EXT with GL_TEXTURE_xD_BINDING_EXT
  34.  *
  35.  * Revision 1.8  1997/02/10 19:58:29  brianp
  36.  * added GL_MESA_resize_buffers extension
  37.  *
  38.  * Revision 1.7  1997/02/03 20:25:23  brianp
  39.  * added GL_EXT_texture3D
  40.  *
  41.  * Revision 1.6  1997/02/03 20:04:28  brianp
  42.  * patches for BeOS
  43.  *
  44.  * Revision 1.5  1997/02/03 19:14:54  brianp
  45.  * conditionally include gl_mangle.h
  46.  *
  47.  * Revision 1.4  1997/01/30 21:07:44  brianp
  48.  * added some missing 1.1 GLenums, GL_TEXTURE_BINDING_[12]D were misnamed
  49.  *
  50.  * Revision 1.3  1997/01/08 20:56:16  brianp
  51.  * added GL_EXT_texture_object extension functions and enums
  52.  *
  53.  * Revision 1.2  1996/10/11 03:45:23  brianp
  54.  * put GL_EXT_polygon_offset back in
  55.  * removed old texture _EXT symbols
  56.  *
  57.  * Revision 1.1  1996/09/13 01:26:41  brianp
  58.  * Initial revision
  59.  *
  60.  */
  61.  
  62.  
  63. #ifndef GL_H
  64. #define GL_H
  65.  
  66.  
  67. #if defined(USE_MGL_NAMESPACE)
  68. #include "gl_mangle.h"
  69. #endif
  70.  
  71.  
  72. #ifdef __cplusplus
  73. extern "C" {
  74. #endif
  75.  
  76.  
  77.  
  78.  
  79. /*
  80.  * Apps can test for this symbol to do conditional compilation if needed.
  81.  */
  82. #define MESA
  83.  
  84.  
  85. #define GL_VERSION_1_1   1
  86.  
  87.  
  88. /*
  89.  *
  90.  * Enumerations
  91.  *
  92.  */
  93.  
  94. typedef enum {
  95.     /* Boolean values */
  96.     GL_FALSE            = 0,
  97.     GL_TRUE                = 1,
  98.  
  99.     /* Data types */
  100.     GL_BYTE                = 0x1400,
  101.     GL_UNSIGNED_BYTE        = 0x1401,
  102.     GL_SHORT            = 0x1402,
  103.     GL_UNSIGNED_SHORT        = 0x1403,
  104.     GL_INT                = 0x1404,
  105.     GL_UNSIGNED_INT            = 0x1405,
  106.     GL_FLOAT            = 0x1406,
  107.     GL_DOUBLE            = 0x140A,
  108.     GL_2_BYTES            = 0x1407,
  109.     GL_3_BYTES            = 0x1408,
  110.     GL_4_BYTES            = 0x1409,
  111.  
  112.     /* Primitives */
  113.     GL_LINES            = 0x0001,
  114.     GL_POINTS            = 0x0000,
  115.     GL_LINE_STRIP            = 0x0003,
  116.     GL_LINE_LOOP            = 0x0002,
  117.     GL_TRIANGLES            = 0x0004,
  118.     GL_TRIANGLE_STRIP        = 0x0005,
  119.     GL_TRIANGLE_FAN            = 0x0006,
  120.     GL_QUADS            = 0x0007,
  121.     GL_QUAD_STRIP            = 0x0008,
  122.     GL_POLYGON            = 0x0009,
  123.     GL_EDGE_FLAG            = 0x0B43,
  124.  
  125.     /* Vertex Arrays */
  126.     GL_VERTEX_ARRAY            = 0x8074,
  127.     GL_NORMAL_ARRAY            = 0x8075,
  128.     GL_COLOR_ARRAY            = 0x8076,
  129.     GL_INDEX_ARRAY            = 0x8077,
  130.     GL_TEXTURE_COORD_ARRAY        = 0x8078,
  131.     GL_EDGE_FLAG_ARRAY        = 0x8079,
  132.     GL_VERTEX_ARRAY_SIZE        = 0x807A,
  133.     GL_VERTEX_ARRAY_TYPE        = 0x807B,
  134.     GL_VERTEX_ARRAY_STRIDE        = 0x807C,
  135.     GL_NORMAL_ARRAY_TYPE        = 0x807E,
  136.     GL_NORMAL_ARRAY_STRIDE        = 0x807F,
  137.     GL_COLOR_ARRAY_SIZE        = 0x8081,
  138.     GL_COLOR_ARRAY_TYPE        = 0x8082,
  139.     GL_COLOR_ARRAY_STRIDE        = 0x8083,
  140.     GL_INDEX_ARRAY_TYPE        = 0x8085,
  141.     GL_INDEX_ARRAY_STRIDE        = 0x8086,
  142.     GL_TEXTURE_COORD_ARRAY_SIZE    = 0x8088,
  143.     GL_TEXTURE_COORD_ARRAY_TYPE    = 0x8089,
  144.     GL_TEXTURE_COORD_ARRAY_STRIDE    = 0x808A,
  145.     GL_EDGE_FLAG_ARRAY_STRIDE    = 0x808C,
  146.     GL_VERTEX_ARRAY_POINTER        = 0x808E,
  147.     GL_NORMAL_ARRAY_POINTER        = 0x808F,
  148.     GL_COLOR_ARRAY_POINTER        = 0x8090,
  149.     GL_INDEX_ARRAY_POINTER        = 0x8091,
  150.     GL_TEXTURE_COORD_ARRAY_POINTER    = 0x8092,
  151.     GL_EDGE_FLAG_ARRAY_POINTER    = 0x8093,
  152.         GL_V2F                = 0x2A20,
  153.     GL_V3F                = 0x2A21,
  154.     GL_C4UB_V2F            = 0x2A22,
  155.     GL_C4UB_V3F            = 0x2A23,
  156.     GL_C3F_V3F            = 0x2A24,
  157.     GL_N3F_V3F            = 0x2A25,
  158.     GL_C4F_N3F_V3F            = 0x2A26,
  159.     GL_T2F_V3F            = 0x2A27,
  160.     GL_T4F_V4F            = 0x2A28,
  161.     GL_T2F_C4UB_V3F            = 0x2A29,
  162.     GL_T2F_C3F_V3F            = 0x2A2A,
  163.     GL_T2F_N3F_V3F            = 0x2A2B,
  164.     GL_T2F_C4F_N3F_V3F        = 0x2A2C,
  165.     GL_T4F_C4F_N3F_V4F        = 0x2A2D,
  166.  
  167.     /* Matrix Mode */
  168.     GL_MATRIX_MODE            = 0x0BA0,
  169.     GL_MODELVIEW            = 0x1700,
  170.     GL_PROJECTION            = 0x1701,
  171.     GL_TEXTURE            = 0x1702,
  172.  
  173.     /* Points */
  174.     GL_POINT_SMOOTH            = 0x0B10,
  175.     GL_POINT_SIZE            = 0x0B11,
  176.     GL_POINT_SIZE_GRANULARITY     = 0x0B13,
  177.     GL_POINT_SIZE_RANGE        = 0x0B12,
  178.  
  179.     /* Lines */
  180.     GL_LINE_SMOOTH            = 0x0B20,
  181.     GL_LINE_STIPPLE            = 0x0B24,
  182.     GL_LINE_STIPPLE_PATTERN        = 0x0B25,
  183.     GL_LINE_STIPPLE_REPEAT        = 0x0B26,
  184.     GL_LINE_WIDTH            = 0x0B21,
  185.     GL_LINE_WIDTH_GRANULARITY    = 0x0B23,
  186.     GL_LINE_WIDTH_RANGE        = 0x0B22,
  187.  
  188.     /* Polygons */
  189.     GL_POINT            = 0x1B00,
  190.     GL_LINE                = 0x1B01,
  191.     GL_FILL                = 0x1B02,
  192.     GL_CCW                = 0x0901,
  193.     GL_CW                = 0x0900,
  194.     GL_FRONT            = 0x0404,
  195.     GL_BACK                = 0x0405,
  196.     GL_CULL_FACE            = 0x0B44,
  197.     GL_CULL_FACE_MODE        = 0x0B45,
  198.     GL_POLYGON_SMOOTH        = 0x0B41,
  199.     GL_POLYGON_STIPPLE        = 0x0B42,
  200.     GL_FRONT_FACE            = 0x0B46,
  201.     GL_POLYGON_MODE            = 0x0B40,
  202.     GL_POLYGON_OFFSET_FACTOR    = 0x8038,
  203.     GL_POLYGON_OFFSET_UNITS        = 0x2A00,
  204.     GL_POLYGON_OFFSET_POINT        = 0x2A01,
  205.     GL_POLYGON_OFFSET_LINE        = 0x2A02,
  206.     GL_POLYGON_OFFSET_FILL        = 0x8037,
  207.  
  208.     /* Display Lists */
  209.     GL_COMPILE            = 0x1300,
  210.     GL_COMPILE_AND_EXECUTE        = 0x1301,
  211.     GL_LIST_BASE            = 0x0B32,
  212.     GL_LIST_INDEX            = 0x0B33,
  213.     GL_LIST_MODE            = 0x0B30,
  214.  
  215.     /* Depth buffer */
  216.     GL_NEVER            = 0x0200,
  217.     GL_LESS                = 0x0201,
  218.     GL_GEQUAL            = 0x0206,
  219.     GL_LEQUAL            = 0x0203,
  220.     GL_GREATER            = 0x0204,
  221.     GL_NOTEQUAL            = 0x0205,
  222.     GL_EQUAL            = 0x0202,
  223.     GL_ALWAYS            = 0x0207,
  224.     GL_DEPTH_TEST            = 0x0B71,
  225.     GL_DEPTH_BITS            = 0x0D56,
  226.     GL_DEPTH_CLEAR_VALUE        = 0x0B73,
  227.     GL_DEPTH_FUNC            = 0x0B74,
  228.     GL_DEPTH_RANGE            = 0x0B70,
  229.     GL_DEPTH_WRITEMASK        = 0x0B72,
  230.     GL_DEPTH_COMPONENT        = 0x1902,
  231.  
  232.     /* Lighting */
  233.     GL_LIGHTING            = 0x0B50,
  234.     GL_LIGHT0            = 0x4000,
  235.     GL_LIGHT1            = 0x4001,
  236.     GL_LIGHT2            = 0x4002,
  237.     GL_LIGHT3            = 0x4003,
  238.     GL_LIGHT4            = 0x4004,
  239.     GL_LIGHT5            = 0x4005,
  240.     GL_LIGHT6            = 0x4006,
  241.     GL_LIGHT7            = 0x4007,
  242.     GL_SPOT_EXPONENT        = 0x1205,
  243.     GL_SPOT_CUTOFF            = 0x1206,
  244.     GL_CONSTANT_ATTENUATION        = 0x1207,
  245.     GL_LINEAR_ATTENUATION        = 0x1208,
  246.     GL_QUADRATIC_ATTENUATION    = 0x1209,
  247.     GL_AMBIENT            = 0x1200,
  248.     GL_DIFFUSE            = 0x1201,
  249.     GL_SPECULAR            = 0x1202,
  250.     GL_SHININESS            = 0x1601,
  251.     GL_EMISSION            = 0x1600,
  252.     GL_POSITION            = 0x1203,
  253.     GL_SPOT_DIRECTION        = 0x1204,
  254.     GL_AMBIENT_AND_DIFFUSE        = 0x1602,
  255.     GL_COLOR_INDEXES        = 0x1603,
  256.     GL_LIGHT_MODEL_TWO_SIDE        = 0x0B52,
  257.     GL_LIGHT_MODEL_LOCAL_VIEWER    = 0x0B51,
  258.     GL_LIGHT_MODEL_AMBIENT        = 0x0B53,
  259.     GL_FRONT_AND_BACK        = 0x0408,
  260.     GL_SHADE_MODEL            = 0x0B54,
  261.     GL_FLAT                = 0x1D00,
  262.     GL_SMOOTH            = 0x1D01,
  263.     GL_COLOR_MATERIAL        = 0x0B57,
  264.     GL_COLOR_MATERIAL_FACE        = 0x0B55,
  265.     GL_COLOR_MATERIAL_PARAMETER    = 0x0B56,
  266.     GL_NORMALIZE            = 0x0BA1,
  267.  
  268.     /* User clipping planes */
  269.     GL_CLIP_PLANE0            = 0x3000,
  270.     GL_CLIP_PLANE1            = 0x3001,
  271.     GL_CLIP_PLANE2            = 0x3002,
  272.     GL_CLIP_PLANE3            = 0x3003,
  273.     GL_CLIP_PLANE4            = 0x3004,
  274.     GL_CLIP_PLANE5            = 0x3005,
  275.  
  276.     /* Accumulation buffer */
  277.     GL_ACCUM_RED_BITS        = 0x0D58,
  278.     GL_ACCUM_GREEN_BITS        = 0x0D59,
  279.     GL_ACCUM_BLUE_BITS        = 0x0D5A,
  280.     GL_ACCUM_ALPHA_BITS        = 0x0D5B,
  281.     GL_ACCUM_CLEAR_VALUE        = 0x0B80,
  282.     GL_ACCUM            = 0x0100,
  283.     GL_ADD                = 0x0104,
  284.     GL_LOAD                = 0x0101,
  285.     GL_MULT                = 0x0103,
  286.     GL_RETURN            = 0x0102,
  287.  
  288.     /* Alpha testing */
  289.     GL_ALPHA_TEST            = 0x0BC0,
  290.     GL_ALPHA_TEST_REF        = 0x0BC2,
  291.     GL_ALPHA_TEST_FUNC        = 0x0BC1,
  292.  
  293.     /* Blending */
  294.     GL_BLEND            = 0x0BE2,
  295.     GL_BLEND_SRC            = 0x0BE1,
  296.     GL_BLEND_DST            = 0x0BE0,
  297.     GL_ZERO                = 0,
  298.     GL_ONE                = 1,
  299.     GL_SRC_COLOR            = 0x0300,
  300.     GL_ONE_MINUS_SRC_COLOR        = 0x0301,
  301.     GL_DST_COLOR            = 0x0306,
  302.     GL_ONE_MINUS_DST_COLOR        = 0x0307,
  303.     GL_SRC_ALPHA            = 0x0302,
  304.     GL_ONE_MINUS_SRC_ALPHA        = 0x0303,
  305.     GL_DST_ALPHA            = 0x0304,
  306.     GL_ONE_MINUS_DST_ALPHA        = 0x0305,
  307.     GL_SRC_ALPHA_SATURATE        = 0x0308,
  308.     GL_CONSTANT_COLOR        = 0x8001,
  309.     GL_ONE_MINUS_CONSTANT_COLOR    = 0x8002,
  310.     GL_CONSTANT_ALPHA        = 0x8003,
  311.     GL_ONE_MINUS_CONSTANT_ALPHA    = 0x8004,
  312.  
  313.     /* Render Mode */
  314.     GL_FEEDBACK            = 0x1C01,
  315.     GL_RENDER            = 0x1C00,
  316.     GL_SELECT            = 0x1C02,
  317.  
  318.     /* Feedback */
  319.     GL_2D                = 0x0600,
  320.     GL_3D                = 0x0601,
  321.     GL_3D_COLOR            = 0x0602,
  322.     GL_3D_COLOR_TEXTURE        = 0x0603,
  323.     GL_4D_COLOR_TEXTURE        = 0x0604,
  324.     GL_POINT_TOKEN            = 0x0701,
  325.     GL_LINE_TOKEN            = 0x0702,
  326.     GL_LINE_RESET_TOKEN        = 0x0707,
  327.     GL_POLYGON_TOKEN        = 0x0703,
  328.     GL_BITMAP_TOKEN            = 0x0704,
  329.     GL_DRAW_PIXEL_TOKEN        = 0x0705,
  330.     GL_COPY_PIXEL_TOKEN        = 0x0706,
  331.     GL_PASS_THROUGH_TOKEN        = 0x0700,
  332.     GL_FEEDBACK_BUFFER_POINTER    = 0x0DF0,
  333.     GL_FEEDBACK_BUFFER_SIZE        = 0x0DF1,
  334.     GL_FEEDBACK_BUFFER_TYPE        = 0x0DF2,
  335.  
  336.  
  337.     /* Fog */
  338.     GL_FOG                = 0x0B60,
  339.     GL_FOG_MODE            = 0x0B65,
  340.     GL_FOG_DENSITY            = 0x0B62,
  341.     GL_FOG_COLOR            = 0x0B66,
  342.     GL_FOG_INDEX            = 0x0B61,
  343.     GL_FOG_START            = 0x0B63,
  344.     GL_FOG_END            = 0x0B64,
  345.     GL_LINEAR            = 0x2601,
  346.     GL_EXP                = 0x0800,
  347.     GL_EXP2                = 0x0801,
  348.  
  349.     /* Logic Ops */
  350.     GL_LOGIC_OP            = 0x0BF1,
  351.     GL_INDEX_LOGIC_OP        = 0x0BF1,
  352.     GL_COLOR_LOGIC_OP        = 0x0BF2,
  353.     GL_LOGIC_OP_MODE        = 0x0BF0,
  354.     GL_CLEAR            = 0x1500,
  355.     GL_SET                = 0x150F,
  356.     GL_COPY                = 0x1503,
  357.     GL_COPY_INVERTED        = 0x150C,
  358.     GL_NOOP                = 0x1505,
  359.     GL_INVERT            = 0x150A,
  360.     GL_AND                = 0x1501,
  361.     GL_NAND                = 0x150E,
  362.     GL_OR                = 0x1507,
  363.     GL_NOR                = 0x1508,
  364.     GL_XOR                = 0x1506,
  365.     GL_EQUIV            = 0x1509,
  366.     GL_AND_REVERSE            = 0x1502,
  367.     GL_AND_INVERTED            = 0x1504,
  368.     GL_OR_REVERSE            = 0x150B,
  369.     GL_OR_INVERTED            = 0x150D,
  370.  
  371.     /* Stencil */
  372.     GL_STENCIL_TEST            = 0x0B90,
  373.     GL_STENCIL_WRITEMASK        = 0x0B98,
  374.     GL_STENCIL_BITS            = 0x0D57,
  375.     GL_STENCIL_FUNC            = 0x0B92,
  376.     GL_STENCIL_VALUE_MASK        = 0x0B93,
  377.     GL_STENCIL_REF            = 0x0B97,
  378.     GL_STENCIL_FAIL            = 0x0B94,
  379.     GL_STENCIL_PASS_DEPTH_PASS    = 0x0B96,
  380.     GL_STENCIL_PASS_DEPTH_FAIL    = 0x0B95,
  381.     GL_STENCIL_CLEAR_VALUE        = 0x0B91,
  382.     GL_STENCIL_INDEX        = 0x1901,
  383.     GL_KEEP                = 0x1E00,
  384.     GL_REPLACE            = 0x1E01,
  385.     GL_INCR                = 0x1E02,
  386.     GL_DECR                = 0x1E03,
  387.  
  388.     /* Buffers, Pixel Drawing/Reading */
  389.     GL_NONE                = 0,
  390.     GL_LEFT                = 0x0406,
  391.     GL_RIGHT            = 0x0407,
  392.     /*GL_FRONT            = 0x0404, */
  393.     /*GL_BACK            = 0x0405, */
  394.     /*GL_FRONT_AND_BACK        = 0x0408, */
  395.     GL_FRONT_LEFT            = 0x0400,
  396.     GL_FRONT_RIGHT            = 0x0401,
  397.     GL_BACK_LEFT            = 0x0402,
  398.     GL_BACK_RIGHT            = 0x0403,
  399.     GL_AUX0                = 0x0409,
  400.     GL_AUX1                = 0x040A,
  401.     GL_AUX2                = 0x040B,
  402.     GL_AUX3                = 0x040C,
  403.     GL_COLOR_INDEX            = 0x1900,
  404.     GL_RED                = 0x1903,
  405.     GL_GREEN            = 0x1904,
  406.     GL_BLUE                = 0x1905,
  407.     GL_ALPHA            = 0x1906,
  408.     GL_LUMINANCE            = 0x1909,
  409.     GL_LUMINANCE_ALPHA        = 0x190A,
  410.     GL_ALPHA_BITS            = 0x0D55,
  411.     GL_RED_BITS            = 0x0D52,
  412.     GL_GREEN_BITS            = 0x0D53,
  413.     GL_BLUE_BITS            = 0x0D54,
  414.     GL_INDEX_BITS            = 0x0D51,
  415.     GL_SUBPIXEL_BITS        = 0x0D50,
  416.     GL_AUX_BUFFERS            = 0x0C00,
  417.     GL_READ_BUFFER            = 0x0C02,
  418.     GL_DRAW_BUFFER            = 0x0C01,
  419.     GL_DOUBLEBUFFER            = 0x0C32,
  420.     GL_STEREO            = 0x0C33,
  421.     GL_BITMAP            = 0x1A00,
  422.     GL_COLOR            = 0x1800,
  423.     GL_DEPTH            = 0x1801,
  424.     GL_STENCIL            = 0x1802,
  425.     GL_DITHER            = 0x0BD0,
  426.     GL_RGB                = 0x1907,
  427.     GL_RGBA                = 0x1908,
  428.  
  429.     /* Implementation limits */
  430.     GL_MAX_LIST_NESTING        = 0x0B31,
  431.     GL_MAX_ATTRIB_STACK_DEPTH    = 0x0D35,
  432.     GL_MAX_MODELVIEW_STACK_DEPTH    = 0x0D36,
  433.     GL_MAX_NAME_STACK_DEPTH        = 0x0D37,
  434.     GL_MAX_PROJECTION_STACK_DEPTH    = 0x0D38,
  435.     GL_MAX_TEXTURE_STACK_DEPTH    = 0x0D39,
  436.     GL_MAX_EVAL_ORDER        = 0x0D30,
  437.     GL_MAX_LIGHTS            = 0x0D31,
  438.     GL_MAX_CLIP_PLANES        = 0x0D32,
  439.     GL_MAX_TEXTURE_SIZE        = 0x0D33,
  440.     GL_MAX_PIXEL_MAP_TABLE        = 0x0D34,
  441.     GL_MAX_VIEWPORT_DIMS        = 0x0D3A,
  442.     GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
  443.  
  444.     /* Gets */
  445.     GL_ATTRIB_STACK_DEPTH        = 0x0BB0,
  446.     GL_CLIENT_ATTRIB_STACK_DEPTH    = 0x0BB1,
  447.     GL_COLOR_CLEAR_VALUE        = 0x0C22,
  448.     GL_COLOR_WRITEMASK        = 0x0C23,
  449.     GL_CURRENT_INDEX        = 0x0B01,
  450.     GL_CURRENT_COLOR        = 0x0B00,
  451.     GL_CURRENT_NORMAL        = 0x0B02,
  452.     GL_CURRENT_RASTER_COLOR        = 0x0B04,
  453.     GL_CURRENT_RASTER_DISTANCE    = 0x0B09,
  454.     GL_CURRENT_RASTER_INDEX        = 0x0B05,
  455.     GL_CURRENT_RASTER_POSITION    = 0x0B07,
  456.     GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
  457.     GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
  458.     GL_CURRENT_TEXTURE_COORDS    = 0x0B03,
  459.     GL_INDEX_CLEAR_VALUE        = 0x0C20,
  460.     GL_INDEX_MODE            = 0x0C30,
  461.     GL_INDEX_WRITEMASK        = 0x0C21,
  462.     GL_MODELVIEW_MATRIX        = 0x0BA6,
  463.     GL_MODELVIEW_STACK_DEPTH    = 0x0BA3,
  464.     GL_NAME_STACK_DEPTH        = 0x0D70,
  465.     GL_PROJECTION_MATRIX        = 0x0BA7,
  466.     GL_PROJECTION_STACK_DEPTH    = 0x0BA4,
  467.     GL_RENDER_MODE            = 0x0C40,
  468.     GL_RGBA_MODE            = 0x0C31,
  469.     GL_TEXTURE_MATRIX        = 0x0BA8,
  470.     GL_TEXTURE_STACK_DEPTH        = 0x0BA5,
  471.     GL_VIEWPORT            = 0x0BA2,
  472.  
  473.  
  474.     /* Evaluators */
  475.     GL_AUTO_NORMAL            = 0x0D80,
  476.     GL_MAP1_COLOR_4            = 0x0D90,
  477.     GL_MAP1_GRID_DOMAIN        = 0x0DD0,
  478.     GL_MAP1_GRID_SEGMENTS        = 0x0DD1,
  479.     GL_MAP1_INDEX            = 0x0D91,
  480.     GL_MAP1_NORMAL            = 0x0D92,
  481.     GL_MAP1_TEXTURE_COORD_1        = 0x0D93,
  482.     GL_MAP1_TEXTURE_COORD_2        = 0x0D94,
  483.     GL_MAP1_TEXTURE_COORD_3        = 0x0D95,
  484.     GL_MAP1_TEXTURE_COORD_4        = 0x0D96,
  485.     GL_MAP1_VERTEX_3        = 0x0D97,
  486.     GL_MAP1_VERTEX_4        = 0x0D98,
  487.     GL_MAP2_COLOR_4            = 0x0DB0,
  488.     GL_MAP2_GRID_DOMAIN        = 0x0DD2,
  489.     GL_MAP2_GRID_SEGMENTS        = 0x0DD3,
  490.     GL_MAP2_INDEX            = 0x0DB1,
  491.     GL_MAP2_NORMAL            = 0x0DB2,
  492.     GL_MAP2_TEXTURE_COORD_1        = 0x0DB3,
  493.     GL_MAP2_TEXTURE_COORD_2        = 0x0DB4,
  494.     GL_MAP2_TEXTURE_COORD_3        = 0x0DB5,
  495.     GL_MAP2_TEXTURE_COORD_4        = 0x0DB6,
  496.     GL_MAP2_VERTEX_3        = 0x0DB7,
  497.     GL_MAP2_VERTEX_4        = 0x0DB8,
  498.     GL_COEFF            = 0x0A00,
  499.     GL_DOMAIN            = 0x0A02,
  500.     GL_ORDER            = 0x0A01,
  501.  
  502.     /* Hints */
  503.     GL_FOG_HINT            = 0x0C54,
  504.     GL_LINE_SMOOTH_HINT        = 0x0C52,
  505.     GL_PERSPECTIVE_CORRECTION_HINT    = 0x0C50,
  506.     GL_POINT_SMOOTH_HINT        = 0x0C51,
  507.     GL_POLYGON_SMOOTH_HINT        = 0x0C53,
  508.     GL_DONT_CARE            = 0x1100,
  509.     GL_FASTEST            = 0x1101,
  510.     GL_NICEST            = 0x1102,
  511.  
  512.     /* Scissor box */
  513.     GL_SCISSOR_TEST            = 0x0C11,
  514.     GL_SCISSOR_BOX            = 0x0C10,
  515.  
  516.     /* Pixel Mode / Transfer */
  517.     GL_MAP_COLOR            = 0x0D10,
  518.     GL_MAP_STENCIL            = 0x0D11,
  519.     GL_INDEX_SHIFT            = 0x0D12,
  520.     GL_INDEX_OFFSET            = 0x0D13,
  521.     GL_RED_SCALE            = 0x0D14,
  522.     GL_RED_BIAS            = 0x0D15,
  523.     GL_GREEN_SCALE            = 0x0D18,
  524.     GL_GREEN_BIAS            = 0x0D19,
  525.     GL_BLUE_SCALE            = 0x0D1A,
  526.     GL_BLUE_BIAS            = 0x0D1B,
  527.     GL_ALPHA_SCALE            = 0x0D1C,
  528.     GL_ALPHA_BIAS            = 0x0D1D,
  529.     GL_DEPTH_SCALE            = 0x0D1E,
  530.     GL_DEPTH_BIAS            = 0x0D1F,
  531.     GL_PIXEL_MAP_S_TO_S_SIZE    = 0x0CB1,
  532.     GL_PIXEL_MAP_I_TO_I_SIZE    = 0x0CB0,
  533.     GL_PIXEL_MAP_I_TO_R_SIZE    = 0x0CB2,
  534.     GL_PIXEL_MAP_I_TO_G_SIZE    = 0x0CB3,
  535.     GL_PIXEL_MAP_I_TO_B_SIZE    = 0x0CB4,
  536.     GL_PIXEL_MAP_I_TO_A_SIZE    = 0x0CB5,
  537.     GL_PIXEL_MAP_R_TO_R_SIZE    = 0x0CB6,
  538.     GL_PIXEL_MAP_G_TO_G_SIZE    = 0x0CB7,
  539.     GL_PIXEL_MAP_B_TO_B_SIZE    = 0x0CB8,
  540.     GL_PIXEL_MAP_A_TO_A_SIZE    = 0x0CB9,
  541.     GL_PIXEL_MAP_S_TO_S        = 0x0C71,
  542.     GL_PIXEL_MAP_I_TO_I        = 0x0C70,
  543.     GL_PIXEL_MAP_I_TO_R        = 0x0C72,
  544.     GL_PIXEL_MAP_I_TO_G        = 0x0C73,
  545.     GL_PIXEL_MAP_I_TO_B        = 0x0C74,
  546.     GL_PIXEL_MAP_I_TO_A        = 0x0C75,
  547.     GL_PIXEL_MAP_R_TO_R        = 0x0C76,
  548.     GL_PIXEL_MAP_G_TO_G        = 0x0C77,
  549.     GL_PIXEL_MAP_B_TO_B        = 0x0C78,
  550.     GL_PIXEL_MAP_A_TO_A        = 0x0C79,
  551.     GL_PACK_ALIGNMENT        = 0x0D05,
  552.     GL_PACK_LSB_FIRST        = 0x0D01,
  553.     GL_PACK_ROW_LENGTH        = 0x0D02,
  554.     GL_PACK_SKIP_PIXELS        = 0x0D04,
  555.     GL_PACK_SKIP_ROWS        = 0x0D03,
  556.     GL_PACK_SWAP_BYTES        = 0x0D00,
  557.     GL_UNPACK_ALIGNMENT        = 0x0CF5,
  558.     GL_UNPACK_LSB_FIRST        = 0x0CF1,
  559.     GL_UNPACK_ROW_LENGTH        = 0x0CF2,
  560.     GL_UNPACK_SKIP_PIXELS        = 0x0CF4,
  561.     GL_UNPACK_SKIP_ROWS        = 0x0CF3,
  562.     GL_UNPACK_SWAP_BYTES        = 0x0CF0,
  563.     GL_ZOOM_X            = 0x0D16,
  564.     GL_ZOOM_Y            = 0x0D17,
  565.  
  566.     /* Texture mapping */
  567.     GL_TEXTURE_ENV            = 0x2300,
  568.     GL_TEXTURE_ENV_MODE        = 0x2200,
  569.     GL_TEXTURE_1D            = 0x0DE0,
  570.     GL_TEXTURE_2D            = 0x0DE1,
  571.     GL_TEXTURE_WRAP_S        = 0x2802,
  572.     GL_TEXTURE_WRAP_T        = 0x2803,
  573.     GL_TEXTURE_MAG_FILTER        = 0x2800,
  574.     GL_TEXTURE_MIN_FILTER        = 0x2801,
  575.     GL_TEXTURE_ENV_COLOR        = 0x2201,
  576.     GL_TEXTURE_GEN_S        = 0x0C60,
  577.     GL_TEXTURE_GEN_T        = 0x0C61,
  578.     GL_TEXTURE_GEN_MODE        = 0x2500,
  579.     GL_TEXTURE_BORDER_COLOR        = 0x1004,
  580.     GL_TEXTURE_WIDTH        = 0x1000,
  581.     GL_TEXTURE_HEIGHT        = 0x1001,
  582.     GL_TEXTURE_BORDER        = 0x1005,
  583.     GL_TEXTURE_COMPONENTS        = 0x1003,
  584.     GL_TEXTURE_RED_SIZE        = 0x805C,
  585.     GL_TEXTURE_GREEN_SIZE        = 0x805D,
  586.     GL_TEXTURE_BLUE_SIZE        = 0x805E,
  587.     GL_TEXTURE_ALPHA_SIZE        = 0x805F,
  588.     GL_TEXTURE_LUMINANCE_SIZE    = 0x8060,
  589.     GL_TEXTURE_INTENSITY_SIZE    = 0x8061,
  590.     GL_NEAREST_MIPMAP_NEAREST    = 0x2700,
  591.     GL_NEAREST_MIPMAP_LINEAR    = 0x2702,
  592.     GL_LINEAR_MIPMAP_NEAREST    = 0x2701,
  593.     GL_LINEAR_MIPMAP_LINEAR        = 0x2703,
  594.     GL_OBJECT_LINEAR        = 0x2401,
  595.     GL_OBJECT_PLANE            = 0x2501,
  596.     GL_EYE_LINEAR            = 0x2400,
  597.     GL_EYE_PLANE            = 0x2502,
  598.     GL_SPHERE_MAP            = 0x2402,
  599.     GL_DECAL            = 0x2101,
  600.     GL_MODULATE            = 0x2100,
  601.     GL_NEAREST            = 0x2600,
  602.     GL_REPEAT            = 0x2901,
  603.     GL_CLAMP            = 0x2900,
  604.     GL_S                = 0x2000,
  605.     GL_T                = 0x2001,
  606.     GL_R                = 0x2002,
  607.     GL_Q                = 0x2003,
  608.     GL_TEXTURE_GEN_R        = 0x0C62,
  609.     GL_TEXTURE_GEN_Q        = 0x0C63,
  610.  
  611.     GL_PROXY_TEXTURE_1D        = 0x8063,
  612.     GL_PROXY_TEXTURE_2D        = 0x8064,
  613.     GL_TEXTURE_PRIORITY        = 0x8066,
  614.     GL_TEXTURE_RESIDENT        = 0x8067,
  615.     GL_TEXTURE_BINDING_1D        = 0x8068,
  616.     GL_TEXTURE_BINDING_2D        = 0x8069,
  617.  
  618.     /* Internal texture formats */
  619.     GL_ALPHA4            = 0x803B,
  620.     GL_ALPHA8            = 0x803C,
  621.     GL_ALPHA12            = 0x803D,
  622.     GL_ALPHA16            = 0x803E,
  623.     GL_LUMINANCE4            = 0x803F,
  624.     GL_LUMINANCE8            = 0x8040,
  625.     GL_LUMINANCE12            = 0x8041,
  626.     GL_LUMINANCE16            = 0x8042,
  627.     GL_LUMINANCE4_ALPHA4        = 0x8043,
  628.     GL_LUMINANCE6_ALPHA2        = 0x8044,
  629.     GL_LUMINANCE8_ALPHA8        = 0x8045,
  630.     GL_LUMINANCE12_ALPHA4        = 0x8046,
  631.     GL_LUMINANCE12_ALPHA12        = 0x8047,
  632.     GL_LUMINANCE16_ALPHA16        = 0x8048,
  633.     GL_INTENSITY            = 0x8049,
  634.     GL_INTENSITY4            = 0x804A,
  635.     GL_INTENSITY8            = 0x804B,
  636.     GL_INTENSITY12            = 0x804C,
  637.     GL_INTENSITY16            = 0x804D,
  638.     GL_R3_G3_B2            = 0x2A10,
  639.     GL_RGB4                = 0x804F,
  640.     GL_RGB5                = 0x8050,
  641.     GL_RGB8                = 0x8051,
  642.     GL_RGB10            = 0x8052,
  643.     GL_RGB12            = 0x8053,
  644.     GL_RGB16            = 0x8054,
  645.     GL_RGBA2            = 0x8055,
  646.     GL_RGBA4            = 0x8056,
  647.     GL_RGB5_A1            = 0x8057,
  648.     GL_RGBA8            = 0x8058,
  649.     GL_RGB10_A2            = 0x8059,
  650.     GL_RGBA12            = 0x805A,
  651.     GL_RGBA16            = 0x805B,
  652.  
  653.     /* Utility */
  654.     GL_VENDOR            = 0x1F00,
  655.     GL_RENDERER            = 0x1F01,
  656.     GL_VERSION            = 0x1F02,
  657.     GL_EXTENSIONS            = 0x1F03,
  658.  
  659.     /* Errors */
  660.     GL_INVALID_VALUE        = 0x0501,
  661.     GL_INVALID_ENUM            = 0x0500,
  662.     GL_INVALID_OPERATION        = 0x0502,
  663.     GL_STACK_OVERFLOW        = 0x0503,
  664.     GL_STACK_UNDERFLOW        = 0x0504,
  665.     GL_OUT_OF_MEMORY        = 0x0505,
  666.  
  667.     /*
  668.      * 1.0 Extensions
  669.      */
  670.         /* GL_EXT_blend_minmax and GL_EXT_blend_color */
  671.     GL_CONSTANT_COLOR_EXT        = 0x8001,
  672.     GL_ONE_MINUS_CONSTANT_COLOR_EXT    = 0x8002,
  673.     GL_CONSTANT_ALPHA_EXT        = 0x8003,
  674.     GL_ONE_MINUS_CONSTANT_ALPHA_EXT    = 0x8004,
  675.     GL_BLEND_EQUATION_EXT        = 0x8009,
  676.     GL_MIN_EXT            = 0x8007,
  677.     GL_MAX_EXT            = 0x8008,
  678.     GL_FUNC_ADD_EXT            = 0x8006,
  679.     GL_FUNC_SUBTRACT_EXT        = 0x800A,
  680.     GL_FUNC_REVERSE_SUBTRACT_EXT    = 0x800B,
  681.     GL_BLEND_COLOR_EXT        = 0x8005,
  682.  
  683.     /* GL_EXT_polygon_offset */
  684.         GL_POLYGON_OFFSET_EXT           = 0x8037,
  685.         GL_POLYGON_OFFSET_FACTOR_EXT    = 0x8038,
  686.         GL_POLYGON_OFFSET_BIAS_EXT      = 0x8039,
  687.  
  688.     /* GL_EXT_vertex_array */
  689.     GL_VERTEX_ARRAY_EXT        = 0x8074,
  690.     GL_NORMAL_ARRAY_EXT        = 0x8075,
  691.     GL_COLOR_ARRAY_EXT        = 0x8076,
  692.     GL_INDEX_ARRAY_EXT        = 0x8077,
  693.     GL_TEXTURE_COORD_ARRAY_EXT    = 0x8078,
  694.     GL_EDGE_FLAG_ARRAY_EXT        = 0x8079,
  695.     GL_VERTEX_ARRAY_SIZE_EXT    = 0x807A,
  696.     GL_VERTEX_ARRAY_TYPE_EXT    = 0x807B,
  697.     GL_VERTEX_ARRAY_STRIDE_EXT    = 0x807C,
  698.     GL_VERTEX_ARRAY_COUNT_EXT    = 0x807D,
  699.     GL_NORMAL_ARRAY_TYPE_EXT    = 0x807E,
  700.     GL_NORMAL_ARRAY_STRIDE_EXT    = 0x807F,
  701.     GL_NORMAL_ARRAY_COUNT_EXT    = 0x8080,
  702.     GL_COLOR_ARRAY_SIZE_EXT        = 0x8081,
  703.     GL_COLOR_ARRAY_TYPE_EXT        = 0x8082,
  704.     GL_COLOR_ARRAY_STRIDE_EXT    = 0x8083,
  705.     GL_COLOR_ARRAY_COUNT_EXT    = 0x8084,
  706.     GL_INDEX_ARRAY_TYPE_EXT        = 0x8085,
  707.     GL_INDEX_ARRAY_STRIDE_EXT    = 0x8086,
  708.     GL_INDEX_ARRAY_COUNT_EXT    = 0x8087,
  709.     GL_TEXTURE_COORD_ARRAY_SIZE_EXT    = 0x8088,
  710.     GL_TEXTURE_COORD_ARRAY_TYPE_EXT    = 0x8089,
  711.     GL_TEXTURE_COORD_ARRAY_STRIDE_EXT= 0x808A,
  712.     GL_TEXTURE_COORD_ARRAY_COUNT_EXT= 0x808B,
  713.     GL_EDGE_FLAG_ARRAY_STRIDE_EXT    = 0x808C,
  714.     GL_EDGE_FLAG_ARRAY_COUNT_EXT    = 0x808D,
  715.     GL_VERTEX_ARRAY_POINTER_EXT    = 0x808E,
  716.     GL_NORMAL_ARRAY_POINTER_EXT    = 0x808F,
  717.     GL_COLOR_ARRAY_POINTER_EXT    = 0x8090,
  718.     GL_INDEX_ARRAY_POINTER_EXT    = 0x8091,
  719.     GL_TEXTURE_COORD_ARRAY_POINTER_EXT= 0x8092,
  720.     GL_EDGE_FLAG_ARRAY_POINTER_EXT    = 0x8093,
  721.  
  722.     /* GL_EXT_texture_object */
  723.     GL_TEXTURE_PRIORITY_EXT        = 0x8066,
  724.     GL_TEXTURE_RESIDENT_EXT        = 0x8067,
  725.     GL_TEXTURE_1D_BINDING_EXT    = 0x8068,
  726.     GL_TEXTURE_2D_BINDING_EXT    = 0x8069,
  727.  
  728.     /* EXT_texture3D */
  729.     GL_PACK_SKIP_IMAGES_EXT        = 0x806B,
  730.     GL_PACK_IMAGE_HEIGHT_EXT    = 0x806C,
  731.     GL_UNPACK_SKIP_IMAGES_EXT    = 0x806D,
  732.     GL_UNPACK_IMAGE_HEIGHT_EXT    = 0x806E,
  733.     GL_TEXTURE_3D_EXT        = 0x806F,
  734.     GL_PROXY_TEXTURE_3D_EXT        = 0x8070,
  735.     GL_TEXTURE_DEPTH_EXT        = 0x8071,
  736.     GL_TEXTURE_WRAP_R_EXT        = 0x8072,
  737.     GL_MAX_3D_TEXTURE_SIZE_EXT    = 0x8073,
  738.     GL_TEXTURE_3D_BINDING_EXT    = 0x806A
  739.  
  740. }
  741. #ifdef CENTERLINE_CLPP
  742.   /* CenterLine C++ workaround: */
  743.   gl_enum;
  744.   typedef int GLenum;
  745. #else
  746.   /* all other compilers */
  747.   GLenum;
  748. #endif
  749.  
  750.  
  751. /* GL_NO_ERROR must be zero */
  752. #define GL_NO_ERROR GL_FALSE
  753.  
  754.  
  755.  
  756. enum {
  757.     GL_CURRENT_BIT        = 0x00000001,
  758.     GL_POINT_BIT        = 0x00000002,
  759.     GL_LINE_BIT        = 0x00000004,
  760.     GL_POLYGON_BIT        = 0x00000008,
  761.     GL_POLYGON_STIPPLE_BIT    = 0x00000010,
  762.     GL_PIXEL_MODE_BIT    = 0x00000020,
  763.     GL_LIGHTING_BIT        = 0x00000040,
  764.     GL_FOG_BIT        = 0x00000080,
  765.     GL_DEPTH_BUFFER_BIT    = 0x00000100,
  766.     GL_ACCUM_BUFFER_BIT    = 0x00000200,
  767.     GL_STENCIL_BUFFER_BIT    = 0x00000400,
  768.     GL_VIEWPORT_BIT        = 0x00000800,
  769.     GL_TRANSFORM_BIT    = 0x00001000,
  770.     GL_ENABLE_BIT        = 0x00002000,
  771.     GL_COLOR_BUFFER_BIT    = 0x00004000,
  772.     GL_HINT_BIT        = 0x00008000,
  773.     GL_EVAL_BIT        = 0x00010000,
  774.     GL_LIST_BIT        = 0x00020000,
  775.     GL_TEXTURE_BIT        = 0x00040000,
  776.     GL_SCISSOR_BIT        = 0x00080000,
  777.     GL_ALL_ATTRIB_BITS    = 0x000fffff
  778. };
  779.  
  780.  
  781. enum {
  782.     GL_CLIENT_PIXEL_STORE_BIT    = 0x00000001,
  783.     GL_CLIENT_VERTEX_ARRAY_BIT    = 0x00000002,
  784.     GL_CLIENT_ALL_ATTRIB_BITS    = 0x0000FFFF
  785. };
  786.  
  787.  
  788.  
  789. typedef unsigned int GLbitfield;
  790.  
  791.  
  792. #ifdef CENTERLINE_CLPP
  793. #define signed
  794. #endif
  795.  
  796.  
  797. /*
  798.  *
  799.  * Data types (may be architecture dependent in some cases)
  800.  *
  801.  */
  802.  
  803. /*  C type        GL type        storage                            */
  804. /*-------------------------------------------------------------------------*/
  805. typedef void        GLvoid;
  806. typedef unsigned char    GLboolean;
  807. typedef signed char    GLbyte;        /* 1-byte signed */
  808. typedef short        GLshort;    /* 2-byte signed */
  809. typedef int        GLint;        /* 4-byte signed */
  810. typedef unsigned char    GLubyte;    /* 1-byte unsigned */
  811. typedef unsigned short    GLushort;    /* 2-byte unsigned */
  812. typedef unsigned int    GLuint;        /* 4-byte unsigned */
  813. typedef int        GLsizei;    /* 4-byte signed */
  814. typedef float        GLfloat;    /* single precision float */
  815. typedef float        GLclampf;    /* single precision float in [0,1] */
  816. typedef double        GLdouble;    /* double precision float */
  817. typedef double        GLclampd;    /* double precision float in [0,1] */
  818.  
  819.  
  820.  
  821. #if defined(__BEOS__) || defined(__QUICKDRAW__)
  822. #pragma export on
  823. #endif
  824.  
  825.  
  826. /*
  827.  * Miscellaneous
  828.  */
  829.  
  830. extern void glClearIndex( GLfloat c );
  831.  
  832. extern void glClearColor( GLclampf red,
  833.               GLclampf green,
  834.               GLclampf blue,
  835.               GLclampf alpha );
  836.  
  837. extern void glClear( GLbitfield mask );
  838.  
  839. extern void glIndexMask( GLuint mask );
  840.  
  841. extern void glColorMask( GLboolean red, GLboolean green,
  842.              GLboolean blue, GLboolean alpha );
  843.  
  844. extern void glAlphaFunc( GLenum func, GLclampf ref );
  845.  
  846. extern void glBlendFunc( GLenum sfactor, GLenum dfactor );
  847.  
  848. extern void glLogicOp( GLenum opcode );
  849.  
  850. extern void glCullFace( GLenum mode );
  851.  
  852. extern void glFrontFace( GLenum mode );
  853.  
  854. extern void glPointSize( GLfloat size );
  855.  
  856. extern void glLineWidth( GLfloat width );
  857.  
  858. extern void glLineStipple( GLint factor, GLushort pattern );
  859.  
  860. extern void glPolygonMode( GLenum face, GLenum mode );
  861.  
  862. extern void glPolygonOffset( GLfloat factor, GLfloat units );
  863.  
  864. extern void glPolygonStipple( const GLubyte *mask );
  865.  
  866. extern void glGetPolygonStipple( GLubyte *mask );
  867.  
  868. extern void glEdgeFlag( GLboolean flag );
  869.  
  870. extern void glEdgeFlagv( const GLboolean *flag );
  871.  
  872. extern void glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
  873.  
  874. extern void glClipPlane( GLenum plane, const GLdouble *equation );
  875.  
  876. extern void glGetClipPlane( GLenum plane, GLdouble *equation );
  877.  
  878. extern void glDrawBuffer( GLenum mode );
  879.  
  880. extern void glReadBuffer( GLenum mode );
  881.  
  882. extern void glEnable( GLenum cap );
  883.  
  884. extern void glDisable( GLenum cap );
  885.  
  886. extern GLboolean glIsEnabled( GLenum cap );
  887.  
  888.  
  889. extern void glGetBooleanv( GLenum pname, GLboolean *params );
  890.  
  891. extern void glGetDoublev( GLenum pname, GLdouble *params );
  892.  
  893. extern void glGetFloatv( GLenum pname, GLfloat *params );
  894.  
  895. extern void glGetIntegerv( GLenum pname, GLint *params );
  896.  
  897.  
  898. extern void glPushAttrib( GLbitfield mask );
  899.  
  900. extern void glPopAttrib( void );
  901.  
  902.  
  903. extern void glPushClientAttrib( GLbitfield mask );
  904.  
  905. extern void glPopClientAttrib( void );
  906.  
  907.  
  908. extern GLint glRenderMode( GLenum mode );
  909.  
  910. extern GLenum glGetError( void );
  911.  
  912. extern const GLubyte *glGetString( GLenum name );
  913.  
  914. extern void glFinish( void );
  915.  
  916. extern void glFlush( void );
  917.  
  918. extern void glHint( GLenum target, GLenum mode );
  919.  
  920.  
  921.  
  922. /*
  923.  * Depth Buffer
  924.  */
  925.  
  926. extern void glClearDepth( GLclampd depth );
  927.  
  928. extern void glDepthFunc( GLenum func );
  929.  
  930. extern void glDepthMask( GLboolean flag );
  931.  
  932. extern void glDepthRange( GLclampd near_val, GLclampd far_val );
  933.  
  934.  
  935. /*
  936.  * Accumulation Buffer
  937.  */
  938.  
  939. extern void glClearAccum( GLfloat red, GLfloat green,
  940.               GLfloat blue, GLfloat alpha );
  941.  
  942. extern void glAccum( GLenum op, GLfloat value );
  943.  
  944.  
  945.  
  946. /*
  947.  * Transformation
  948.  */
  949.  
  950. extern void glMatrixMode( GLenum mode );
  951.  
  952. extern void glOrtho( GLdouble left, GLdouble right,
  953.              GLdouble bottom, GLdouble top,
  954.              GLdouble near_val, GLdouble far_val );
  955.  
  956. extern void glFrustum( GLdouble left, GLdouble right,
  957.                GLdouble bottom, GLdouble top,
  958.                GLdouble near_val, GLdouble far_val );
  959.  
  960. extern void glViewport( GLint x, GLint y, GLsizei width, GLsizei height );
  961.  
  962. extern void glPushMatrix( void );
  963.  
  964. extern void glPopMatrix( void );
  965.  
  966. extern void glLoadIdentity( void );
  967.  
  968. extern void glLoadMatrixd( const GLdouble *m );
  969. extern void glLoadMatrixf( const GLfloat *m );
  970.  
  971. extern void glMultMatrixd( const GLdouble *m );
  972. extern void glMultMatrixf( const GLfloat *m );
  973.  
  974. extern void glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
  975. extern void glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
  976.  
  977. extern void glScaled( GLdouble x, GLdouble y, GLdouble z );
  978. extern void glScalef( GLfloat x, GLfloat y, GLfloat z );
  979.  
  980. extern void glTranslated( GLdouble x, GLdouble y, GLdouble z );
  981. extern void glTranslatef( GLfloat x, GLfloat y, GLfloat z );
  982.  
  983.  
  984.  
  985. /*
  986.  * Display Lists
  987.  */
  988.  
  989. extern GLboolean glIsList( GLuint list );
  990.  
  991. extern void glDeleteLists( GLuint list, GLsizei range );
  992.  
  993. extern GLuint glGenLists( GLsizei range );
  994.  
  995. extern void glNewList( GLuint list, GLenum mode );
  996.  
  997. extern void glEndList( void );
  998.  
  999. extern void glCallList( GLuint list );
  1000.  
  1001. extern void glCallLists( GLsizei n, GLenum type, const GLvoid *lists );
  1002.  
  1003. extern void glListBase( GLuint base );
  1004.  
  1005.  
  1006.  
  1007. /*
  1008.  * Drawing Functions
  1009.  */
  1010.  
  1011. extern void glBegin( GLenum mode );
  1012.  
  1013. extern void glEnd( void );
  1014.  
  1015.  
  1016. extern void glVertex2d( GLdouble x, GLdouble y );
  1017. extern void glVertex2f( GLfloat x, GLfloat y );
  1018. extern void glVertex2i( GLint x, GLint y );
  1019. extern void glVertex2s( GLshort x, GLshort y );
  1020.  
  1021. extern void glVertex3d( GLdouble x, GLdouble y, GLdouble z );
  1022. extern void glVertex3f( GLfloat x, GLfloat y, GLfloat z );
  1023. extern void glVertex3i( GLint x, GLint y, GLint z );
  1024. extern void glVertex3s( GLshort x, GLshort y, GLshort z );
  1025.  
  1026. extern void glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  1027. extern void glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1028. extern void glVertex4i( GLint x, GLint y, GLint z, GLint w );
  1029. extern void glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
  1030.  
  1031. extern void glVertex2dv( const GLdouble *v );
  1032. extern void glVertex2fv( const GLfloat *v );
  1033. extern void glVertex2iv( const GLint *v );
  1034. extern void glVertex2sv( const GLshort *v );
  1035.  
  1036. extern void glVertex3dv( const GLdouble *v );
  1037. extern void glVertex3fv( const GLfloat *v );
  1038. extern void glVertex3iv( const GLint *v );
  1039. extern void glVertex3sv( const GLshort *v );
  1040.  
  1041. extern void glVertex4dv( const GLdouble *v );
  1042. extern void glVertex4fv( const GLfloat *v );
  1043. extern void glVertex4iv( const GLint *v );
  1044. extern void glVertex4sv( const GLshort *v );
  1045.  
  1046.  
  1047. extern void glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
  1048. extern void glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
  1049. extern void glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
  1050. extern void glNormal3i( GLint nx, GLint ny, GLint nz );
  1051. extern void glNormal3s( GLshort nx, GLshort ny, GLshort nz );
  1052.  
  1053. extern void glNormal3bv( const GLbyte *v );
  1054. extern void glNormal3dv( const GLdouble *v );
  1055. extern void glNormal3fv( const GLfloat *v );
  1056. extern void glNormal3iv( const GLint *v );
  1057. extern void glNormal3sv( const GLshort *v );
  1058.  
  1059.  
  1060. extern void glIndexd( GLdouble c );
  1061. extern void glIndexf( GLfloat c );
  1062. extern void glIndexi( GLint c );
  1063. extern void glIndexs( GLshort c );
  1064. extern void glIndexub( GLubyte c );  /* 1.1 */
  1065.  
  1066. extern void glIndexdv( const GLdouble *c );
  1067. extern void glIndexfv( const GLfloat *c );
  1068. extern void glIndexiv( const GLint *c );
  1069. extern void glIndexsv( const GLshort *c );
  1070. extern void glIndexubv( const GLubyte *c );  /* 1.1 */
  1071.  
  1072. extern void glColor3b( GLbyte red, GLbyte green, GLbyte blue );
  1073. extern void glColor3d( GLdouble red, GLdouble green, GLdouble blue );
  1074. extern void glColor3f( GLfloat red, GLfloat green, GLfloat blue );
  1075. extern void glColor3i( GLint red, GLint green, GLint blue );
  1076. extern void glColor3s( GLshort red, GLshort green, GLshort blue );
  1077. extern void glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
  1078. extern void glColor3ui( GLuint red, GLuint green, GLuint blue );
  1079. extern void glColor3us( GLushort red, GLushort green, GLushort blue );
  1080.  
  1081. extern void glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
  1082. extern void glColor4d( GLdouble red, GLdouble green,
  1083.                GLdouble blue, GLdouble alpha );
  1084. extern void glColor4f( GLfloat red, GLfloat green,
  1085.                GLfloat blue, GLfloat alpha );
  1086. extern void glColor4i( GLint red, GLint green, GLint blue, GLint alpha );
  1087. extern void glColor4s( GLshort red, GLshort green,
  1088.                GLshort blue, GLshort alpha );
  1089. extern void glColor4ub( GLubyte red, GLubyte green,
  1090.             GLubyte blue, GLubyte alpha );
  1091. extern void glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
  1092. extern void glColor4us( GLushort red, GLushort green,
  1093.             GLushort blue, GLushort alpha );
  1094.  
  1095.  
  1096. extern void glColor3bv( const GLbyte *v );
  1097. extern void glColor3dv( const GLdouble *v );
  1098. extern void glColor3fv( const GLfloat *v );
  1099. extern void glColor3iv( const GLint *v );
  1100. extern void glColor3sv( const GLshort *v );
  1101. extern void glColor3ubv( const GLubyte *v );
  1102. extern void glColor3uiv( const GLuint *v );
  1103. extern void glColor3usv( const GLushort *v );
  1104.  
  1105. extern void glColor4bv( const GLbyte *v );
  1106. extern void glColor4dv( const GLdouble *v );
  1107. extern void glColor4fv( const GLfloat *v );
  1108. extern void glColor4iv( const GLint *v );
  1109. extern void glColor4sv( const GLshort *v );
  1110. extern void glColor4ubv( const GLubyte *v );
  1111. extern void glColor4uiv( const GLuint *v );
  1112. extern void glColor4usv( const GLushort *v );
  1113.  
  1114.  
  1115. extern void glTexCoord1d( GLdouble s );
  1116. extern void glTexCoord1f( GLfloat s );
  1117. extern void glTexCoord1i( GLint s );
  1118. extern void glTexCoord1s( GLshort s );
  1119.  
  1120. extern void glTexCoord2d( GLdouble s, GLdouble t );
  1121. extern void glTexCoord2f( GLfloat s, GLfloat t );
  1122. extern void glTexCoord2i( GLint s, GLint t );
  1123. extern void glTexCoord2s( GLshort s, GLshort t );
  1124.  
  1125. extern void glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
  1126. extern void glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
  1127. extern void glTexCoord3i( GLint s, GLint t, GLint r );
  1128. extern void glTexCoord3s( GLshort s, GLshort t, GLshort r );
  1129.  
  1130. extern void glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
  1131. extern void glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
  1132. extern void glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
  1133. extern void glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
  1134.  
  1135. extern void glTexCoord1dv( const GLdouble *v );
  1136. extern void glTexCoord1fv( const GLfloat *v );
  1137. extern void glTexCoord1iv( const GLint *v );
  1138. extern void glTexCoord1sv( const GLshort *v );
  1139.  
  1140. extern void glTexCoord2dv( const GLdouble *v );
  1141. extern void glTexCoord2fv( const GLfloat *v );
  1142. extern void glTexCoord2iv( const GLint *v );
  1143. extern void glTexCoord2sv( const GLshort *v );
  1144.  
  1145. extern void glTexCoord3dv( const GLdouble *v );
  1146. extern void glTexCoord3fv( const GLfloat *v );
  1147. extern void glTexCoord3iv( const GLint *v );
  1148. extern void glTexCoord3sv( const GLshort *v );
  1149.  
  1150. extern void glTexCoord4dv( const GLdouble *v );
  1151. extern void glTexCoord4fv( const GLfloat *v );
  1152. extern void glTexCoord4iv( const GLint *v );
  1153. extern void glTexCoord4sv( const GLshort *v );
  1154.  
  1155.  
  1156. extern void glRasterPos2d( GLdouble x, GLdouble y );
  1157. extern void glRasterPos2f( GLfloat x, GLfloat y );
  1158. extern void glRasterPos2i( GLint x, GLint y );
  1159. extern void glRasterPos2s( GLshort x, GLshort y );
  1160.  
  1161. extern void glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
  1162. extern void glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
  1163. extern void glRasterPos3i( GLint x, GLint y, GLint z );
  1164. extern void glRasterPos3s( GLshort x, GLshort y, GLshort z );
  1165.  
  1166. extern void glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  1167. extern void glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1168. extern void glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
  1169. extern void glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
  1170.  
  1171. extern void glRasterPos2dv( const GLdouble *v );
  1172. extern void glRasterPos2fv( const GLfloat *v );
  1173. extern void glRasterPos2iv( const GLint *v );
  1174. extern void glRasterPos2sv( const GLshort *v );
  1175.  
  1176. extern void glRasterPos3dv( const GLdouble *v );
  1177. extern void glRasterPos3fv( const GLfloat *v );
  1178. extern void glRasterPos3iv( const GLint *v );
  1179. extern void glRasterPos3sv( const GLshort *v );
  1180.  
  1181. extern void glRasterPos4dv( const GLdouble *v );
  1182. extern void glRasterPos4fv( const GLfloat *v );
  1183. extern void glRasterPos4iv( const GLint *v );
  1184. extern void glRasterPos4sv( const GLshort *v );
  1185.  
  1186.  
  1187. extern void glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
  1188. extern void glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
  1189. extern void glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
  1190. extern void glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
  1191.  
  1192.  
  1193. extern void glRectdv( const GLdouble *v1, const GLdouble *v2 );
  1194. extern void glRectfv( const GLfloat *v1, const GLfloat *v2 );
  1195. extern void glRectiv( const GLint *v1, const GLint *v2 );
  1196. extern void glRectsv( const GLshort *v1, const GLshort *v2 );
  1197.  
  1198.  
  1199.  
  1200. /*
  1201.  * Vertex Arrays  (1.1)
  1202.  */
  1203.  
  1204. extern void glVertexPointer( GLint size, GLenum type, GLsizei stride,
  1205.                              const GLvoid *ptr );
  1206.  
  1207. extern void glNormalPointer( GLenum type, GLsizei stride,
  1208.                              const GLvoid *ptr );
  1209.  
  1210. extern void glColorPointer( GLint size, GLenum type, GLsizei stride,
  1211.                             const GLvoid *ptr );
  1212.  
  1213. extern void glIndexPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
  1214.  
  1215. extern void glTexCoordPointer( GLint size, GLenum type, GLsizei stride,
  1216.                                const GLvoid *ptr );
  1217.  
  1218. extern void glEdgeFlagPointer( GLsizei stride, const GLboolean *ptr );
  1219.  
  1220. extern void glGetPointerv( GLenum pname, void **params );
  1221.  
  1222. extern void glArrayElement( GLint i );
  1223.  
  1224. extern void glDrawArrays( GLenum mode, GLint first, GLsizei count );
  1225.  
  1226. extern void glDrawElements( GLenum mode, GLsizei count,
  1227.                             GLenum type, const GLvoid *indices );
  1228.  
  1229. extern void glInterleavedArrays( GLenum format, GLsizei stride,
  1230.                                  const GLvoid *pointer );
  1231.  
  1232.  
  1233. /*
  1234.  * Lighting
  1235.  */
  1236.  
  1237. extern void glShadeModel( GLenum mode );
  1238.  
  1239. extern void glLightf( GLenum light, GLenum pname, GLfloat param );
  1240. extern void glLighti( GLenum light, GLenum pname, GLint param );
  1241. extern void glLightfv( GLenum light, GLenum pname, const GLfloat *params );
  1242. extern void glLightiv( GLenum light, GLenum pname, const GLint *params );
  1243.  
  1244. extern void glGetLightfv( GLenum light, GLenum pname, GLfloat *params );
  1245. extern void glGetLightiv( GLenum light, GLenum pname, GLint *params );
  1246.  
  1247. extern void glLightModelf( GLenum pname, GLfloat param );
  1248. extern void glLightModeli( GLenum pname, GLint param );
  1249. extern void glLightModelfv( GLenum pname, const GLfloat *params );
  1250. extern void glLightModeliv( GLenum pname, const GLint *params );
  1251.  
  1252. extern void glMaterialf( GLenum face, GLenum pname, GLfloat param );
  1253. extern void glMateriali( GLenum face, GLenum pname, GLint param );
  1254. extern void glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
  1255. extern void glMaterialiv( GLenum face, GLenum pname, const GLint *params );
  1256.  
  1257. extern void glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
  1258. extern void glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
  1259.  
  1260. extern void glColorMaterial( GLenum face, GLenum mode );
  1261.  
  1262.  
  1263.  
  1264.  
  1265. /*
  1266.  * Raster functions
  1267.  */
  1268.  
  1269. extern void glPixelZoom( GLfloat xfactor, GLfloat yfactor );
  1270.  
  1271. extern void glPixelStoref( GLenum pname, GLfloat param );
  1272. extern void glPixelStorei( GLenum pname, GLint param );
  1273.  
  1274. extern void glPixelTransferf( GLenum pname, GLfloat param );
  1275. extern void glPixelTransferi( GLenum pname, GLint param );
  1276.  
  1277. extern void glPixelMapfv( GLenum map, GLint mapsize, const GLfloat *values );
  1278. extern void glPixelMapuiv( GLenum map, GLint mapsize, const GLuint *values );
  1279. extern void glPixelMapusv( GLenum map, GLint mapsize, const GLushort *values );
  1280.  
  1281. extern void glGetPixelMapfv( GLenum map, GLfloat *values );
  1282. extern void glGetPixelMapuiv( GLenum map, GLuint *values );
  1283. extern void glGetPixelMapusv( GLenum map, GLushort *values );
  1284.  
  1285. extern void glBitmap( GLsizei width, GLsizei height,
  1286.               GLfloat xorig, GLfloat yorig,
  1287.               GLfloat xmove, GLfloat ymove,
  1288.               const GLubyte *bitmap );
  1289.  
  1290. extern void glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
  1291.               GLenum format, GLenum type, GLvoid *pixels );
  1292.  
  1293. extern void glDrawPixels( GLsizei width, GLsizei height,
  1294.               GLenum format, GLenum type, const GLvoid *pixels );
  1295.  
  1296. extern void glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height,
  1297.               GLenum type );
  1298.  
  1299.  
  1300.  
  1301. /*
  1302.  * Stenciling
  1303.  */
  1304.  
  1305. extern void glStencilFunc( GLenum func, GLint ref, GLuint mask );
  1306.  
  1307. extern void glStencilMask( GLuint mask );
  1308.  
  1309. extern void glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
  1310.  
  1311. extern void glClearStencil( GLint s );
  1312.  
  1313.  
  1314.  
  1315. /*
  1316.  * Texture mapping
  1317.  */
  1318.  
  1319. extern void glTexGend( GLenum coord, GLenum pname, GLdouble param );
  1320. extern void glTexGenf( GLenum coord, GLenum pname, GLfloat param );
  1321. extern void glTexGeni( GLenum coord, GLenum pname, GLint param );
  1322.  
  1323. extern void glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
  1324. extern void glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
  1325. extern void glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
  1326.  
  1327. extern void glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
  1328. extern void glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
  1329. extern void glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
  1330.  
  1331.  
  1332. extern void glTexEnvf( GLenum target, GLenum pname, GLfloat param );
  1333. extern void glTexEnvi( GLenum target, GLenum pname, GLint param );
  1334.  
  1335. extern void glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
  1336. extern void glTexEnviv( GLenum target, GLenum pname, const GLint *params );
  1337.  
  1338. extern void glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
  1339. extern void glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
  1340.  
  1341.  
  1342. extern void glTexParameterf( GLenum target, GLenum pname, GLfloat param );
  1343. extern void glTexParameteri( GLenum target, GLenum pname, GLint param );
  1344.  
  1345. extern void glTexParameterfv( GLenum target, GLenum pname,
  1346.                   const GLfloat *params );
  1347. extern void glTexParameteriv( GLenum target, GLenum pname,
  1348.                   const GLint *params );
  1349.  
  1350. extern void glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params);
  1351. extern void glGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
  1352.  
  1353. extern void glGetTexLevelParameterfv( GLenum target, GLint level,
  1354.                       GLenum pname, GLfloat *params );
  1355. extern void glGetTexLevelParameteriv( GLenum target, GLint level,
  1356.                       GLenum pname, GLint *params );
  1357.  
  1358.  
  1359. extern void glTexImage1D( GLenum target, GLint level, GLint components,
  1360.               GLsizei width, GLint border,
  1361.               GLenum format, GLenum type, const GLvoid *pixels );
  1362.  
  1363. extern void glTexImage2D( GLenum target, GLint level, GLint components,
  1364.               GLsizei width, GLsizei height, GLint border,
  1365.               GLenum format, GLenum type, const GLvoid *pixels );
  1366.  
  1367. extern void glGetTexImage( GLenum target, GLint level, GLenum format,
  1368.                GLenum type, GLvoid *pixels );
  1369.  
  1370.  
  1371.  
  1372. /* 1.1 functions */
  1373.  
  1374. extern void glGenTextures( GLsizei n, GLuint *textures );
  1375.  
  1376. extern void glDeleteTextures( GLsizei n, const GLuint *textures);
  1377.  
  1378. extern void glBindTexture( GLenum target, GLuint texture );
  1379.  
  1380. extern void glPrioritizeTextures( GLsizei n, const GLuint *textures,
  1381.                                   const GLclampf *priorities );
  1382.  
  1383. extern GLboolean glAreTexturesResident( GLsizei n,
  1384.                                           const GLuint *textures,
  1385.                                         GLboolean *residences );
  1386.  
  1387. extern GLboolean glIsTexture( GLuint texture );
  1388.  
  1389.  
  1390. extern void glTexSubImage1D( GLenum target, GLint level, GLint xoffset,
  1391.                              GLsizei width, GLenum format,
  1392.                              GLenum type, const GLvoid *pixels );
  1393.  
  1394.  
  1395. extern void glTexSubImage2D( GLenum target, GLint level,
  1396.                              GLint xoffset, GLint yoffset,
  1397.                              GLsizei width, GLsizei height,
  1398.                              GLenum format, GLenum type,
  1399.                              const GLvoid *pixels );
  1400.  
  1401.  
  1402. extern void glCopyTexImage1D( GLenum target, GLint level,
  1403.                               GLenum internalformat,
  1404.                               GLint x, GLint y,
  1405.                               GLsizei width, GLint border );
  1406.  
  1407.  
  1408. extern void glCopyTexImage2D( GLenum target, GLint level,
  1409.                               GLenum internalformat,
  1410.                               GLint x, GLint y,
  1411.                               GLsizei width, GLsizei height, GLint border );
  1412.  
  1413.  
  1414. extern void glCopyTexSubImage1D( GLenum target, GLint level,
  1415.                                  GLint xoffset, GLint x, GLint y,
  1416.                                  GLsizei width );
  1417.  
  1418.  
  1419. extern void glCopyTexSubImage2D( GLenum target, GLint level,
  1420.                                  GLint xoffset, GLint yoffset,
  1421.                                  GLint x, GLint y,
  1422.                                  GLsizei width, GLsizei height );
  1423.  
  1424.  
  1425.  
  1426.  
  1427. /*
  1428.  * Evaluators
  1429.  */
  1430.  
  1431. extern void glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
  1432.              GLint order, const GLdouble *points );
  1433. extern void glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
  1434.              GLint order, const GLfloat *points );
  1435.  
  1436. extern void glMap2d( GLenum target,
  1437.              GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
  1438.              GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
  1439.              const GLdouble *points );
  1440. extern void glMap2f( GLenum target,
  1441.              GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
  1442.              GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
  1443.              const GLfloat *points );
  1444.  
  1445. extern void glGetMapdv( GLenum target, GLenum query, GLdouble *v );
  1446. extern void glGetMapfv( GLenum target, GLenum query, GLfloat *v );
  1447. extern void glGetMapiv( GLenum target, GLenum query, GLint *v );
  1448.  
  1449. extern void glEvalCoord1d( GLdouble u );
  1450. extern void glEvalCoord1f( GLfloat u );
  1451.  
  1452. extern void glEvalCoord1dv( const GLdouble *u );
  1453. extern void glEvalCoord1fv( const GLfloat *u );
  1454.  
  1455. extern void glEvalCoord2d( GLdouble u, GLdouble v );
  1456. extern void glEvalCoord2f( GLfloat u, GLfloat v );
  1457.  
  1458. extern void glEvalCoord2dv( const GLdouble *u );
  1459. extern void glEvalCoord2fv( const GLfloat *u );
  1460.  
  1461. extern void glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
  1462. extern void glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
  1463.  
  1464. extern void glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
  1465.              GLint vn, GLdouble v1, GLdouble v2 );
  1466. extern void glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
  1467.              GLint vn, GLfloat v1, GLfloat v2 );
  1468.  
  1469. extern void glEvalPoint1( GLint i );
  1470.  
  1471. extern void glEvalPoint2( GLint i, GLint j );
  1472.  
  1473. extern void glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
  1474.  
  1475. extern void glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
  1476.  
  1477.  
  1478.  
  1479. /*
  1480.  * Fog
  1481.  */
  1482.  
  1483. extern void glFogf( GLenum pname, GLfloat param );
  1484.  
  1485. extern void glFogi( GLenum pname, GLint param );
  1486.  
  1487. extern void glFogfv( GLenum pname, const GLfloat *params );
  1488.  
  1489. extern void glFogiv( GLenum pname, const GLint *params );
  1490.  
  1491.  
  1492.  
  1493. /*
  1494.  * Selection and Feedback
  1495.  */
  1496.  
  1497. extern void glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
  1498.  
  1499. extern void glPassThrough( GLfloat token );
  1500.  
  1501. extern void glSelectBuffer( GLsizei size, GLuint *buffer );
  1502.  
  1503. extern void glInitNames( void );
  1504.  
  1505. extern void glLoadName( GLuint name );
  1506.  
  1507. extern void glPushName( GLuint name );
  1508.  
  1509. extern void glPopName( void );
  1510.  
  1511.  
  1512.  
  1513. /*
  1514.  * 1.0 Extensions
  1515.  */
  1516.  
  1517. /* GL_EXT_blend_minmax */
  1518. extern void glBlendEquationEXT( GLenum mode );
  1519.  
  1520.  
  1521.  
  1522. /* GL_EXT_blend_color */
  1523. extern void glBlendColorEXT( GLclampf red, GLclampf green,
  1524.                  GLclampf blue, GLclampf alpha );
  1525.  
  1526.  
  1527.  
  1528. /* GL_EXT_polygon_offset */
  1529. extern void glPolygonOffsetEXT( GLfloat factor, GLfloat bias );
  1530.  
  1531.  
  1532.  
  1533. /* GL_EXT_vertex_array */
  1534.  
  1535. extern void glVertexPointerEXT( GLint size, GLenum type, GLsizei stride,
  1536.                                  GLsizei count, const GLvoid *ptr );
  1537.  
  1538. extern void glNormalPointerEXT( GLenum type, GLsizei stride,
  1539.                 GLsizei count, const GLvoid *ptr );
  1540.  
  1541. extern void glColorPointerEXT( GLint size, GLenum type, GLsizei stride,
  1542.                                GLsizei count, const GLvoid *ptr );
  1543.  
  1544. extern void glIndexPointerEXT( GLenum type, GLsizei stride,
  1545.                    GLsizei count, const GLvoid *ptr );
  1546.  
  1547. extern void glTexCoordPointerEXT( GLint size, GLenum type, GLsizei stride,
  1548.                                   GLsizei count, const GLvoid *ptr );
  1549.  
  1550. extern void glEdgeFlagPointerEXT( GLsizei stride,
  1551.                   GLsizei count,  const GLboolean *ptr );
  1552.  
  1553. extern void glGetPointervEXT( GLenum pname, void **params );
  1554.  
  1555. extern void glArrayElementEXT( GLint i );
  1556.  
  1557. extern void glDrawArraysEXT( GLenum mode, GLint first, GLsizei count );
  1558.  
  1559.  
  1560.  
  1561. /* GL_EXT_texture_object */
  1562.  
  1563. extern void glGenTexturesEXT( GLsizei n, GLuint *textures );
  1564.  
  1565. extern void glDeleteTexturesEXT( GLsizei n, const GLuint *textures);
  1566.  
  1567. extern void glBindTextureEXT( GLenum target, GLuint texture );
  1568.  
  1569. extern void glPrioritizeTexturesEXT( GLsizei n, const GLuint *textures,
  1570.                                      const GLclampf *priorities );
  1571.  
  1572. extern GLboolean glAreTexturesResidentEXT( GLsizei n,
  1573.                                            const GLuint *textures,
  1574.                                            GLboolean *residences );
  1575.  
  1576. extern GLboolean glIsTextureEXT( GLuint texture );
  1577.  
  1578.  
  1579.  
  1580. /* GL_EXT_texture3D */
  1581.  
  1582. extern void glTexImage3DEXT( GLenum target, GLint level, GLenum internalformat,
  1583.                              GLsizei width, GLsizei height, GLsizei depth,
  1584.                              GLint border, GLenum format, GLenum type, 
  1585.                              const GLvoid *pixels );
  1586.  
  1587. extern void glTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, 
  1588.                                 GLint yoffset, GLint zoffset, GLsizei width, 
  1589.                                 GLsizei height, GLsizei depth, GLenum format,
  1590.                                 GLenum type, const GLvoid *pixels );
  1591.  
  1592. extern void glCopyTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset,
  1593.                                     GLint yoffset, GLint zoffset, 
  1594.                                     GLint x, GLint y, GLsizei width, 
  1595.                                     GLsizei height );
  1596.  
  1597.  
  1598. /* GL_MESA_window_pos */
  1599.  
  1600. extern void glWindowPos2iMESA( GLint x, GLint y );
  1601. extern void glWindowPos2sMESA( GLshort x, GLshort y );
  1602. extern void glWindowPos2fMESA( GLfloat x, GLfloat y );
  1603. extern void glWindowPos2dMESA( GLdouble x, GLdouble y );
  1604.  
  1605. extern void glWindowPos2ivMESA( const GLint *p );
  1606. extern void glWindowPos2svMESA( const GLshort *p );
  1607. extern void glWindowPos2fvMESA( const GLfloat *p );
  1608. extern void glWindowPos2dvMESA( const GLdouble *p );
  1609.  
  1610. extern void glWindowPos3iMESA( GLint x, GLint y, GLint z );
  1611. extern void glWindowPos3sMESA( GLshort x, GLshort y, GLshort z );
  1612. extern void glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z );
  1613. extern void glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z );
  1614.  
  1615. extern void glWindowPos3ivMESA( const GLint *p );
  1616. extern void glWindowPos3svMESA( const GLshort *p );
  1617. extern void glWindowPos3fvMESA( const GLfloat *p );
  1618. extern void glWindowPos3dvMESA( const GLdouble *p );
  1619.  
  1620. extern void glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w );
  1621. extern void glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w );
  1622. extern void glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  1623. extern void glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  1624.  
  1625. extern void glWindowPos4ivMESA( const GLint *p );
  1626. extern void glWindowPos4svMESA( const GLshort *p );
  1627. extern void glWindowPos4fvMESA( const GLfloat *p );
  1628. extern void glWindowPos4dvMESA( const GLdouble *p );
  1629.  
  1630.  
  1631. /* GL_MESA_resize_buffers */
  1632.  
  1633. extern void glResizeBuffersMESA();
  1634.  
  1635.  
  1636.  
  1637. #if defined(__BEOS__) || defined(__QUICKDRAW__)
  1638. #pragma export off
  1639. #endif
  1640.  
  1641.  
  1642. /*
  1643.  * Compile-time tests for extensions:
  1644.  */
  1645. #define GL_EXT_blend_color    1
  1646. #define GL_EXT_blend_logic_op    1
  1647. #define GL_EXT_blend_minmax    1
  1648. #define GL_EXT_blend_subtract    1
  1649. #define GL_EXT_polygon_offset    1
  1650. #define GL_EXT_vertex_array    1
  1651. #define GL_EXT_texture_object    1
  1652. #define GL_EXT_texture3D    1
  1653. #define GL_MESA_window_pos    1
  1654. #define GL_MESA_resize_buffers    1
  1655.  
  1656.  
  1657.  
  1658. #ifdef __cplusplus
  1659. }
  1660. #endif
  1661.  
  1662. #endif
  1663.